package com.pwt.utils;

import com.pwt.model.ShiftModel;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * @author dw
 * @date 2021/12/28 21:16
 * @Description
 */
public class CommonUtils {

    public static ShiftModel getNowClass(Date nowTime){
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(nowTime);
        Integer hour = calendar.get(Calendar.HOUR_OF_DAY);
        ShiftModel shiftModel = new ShiftModel();
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {

            if(8<=hour && hour<20){
                shiftModel.setStartTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 08:00:00"));
                shiftModel.setEndTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 20:00:00"));
            }else if(hour <8){
                shiftModel.setEndTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 08:00:00"));
                calendar.add(Calendar.DAY_OF_YEAR,-1);
                shiftModel.setStartTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 20:00:00"));
            }else if(hour>=20){
                shiftModel.setEndTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 20:00:00"));
                calendar.add(Calendar.DAY_OF_YEAR,1);
                shiftModel.setStartTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 08:00:00"));
            }
//            if(6<=hour && hour<=14){
//                shiftModel.setStartTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 06:00:00"));
//                shiftModel.setEndTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 14:00:00"));
//            }else if(hour> 14 && hour <=22){
//                shiftModel.setStartTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 14:00:00"));
//                shiftModel.setEndTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 22:00:00"));
//            }else if(hour < 6){
//                shiftModel.setEndTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 06:00:00"));
//                calendar.add(Calendar.DAY_OF_YEAR,-1);
//                shiftModel.setStartTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 22:00:00"));
//            }else if(hour > 22){
//                shiftModel.setStartTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 22:00:00"));
//                calendar.add(Calendar.DAY_OF_YEAR,1);
//                shiftModel.setEndTime(dateFormat.parse(simpleDateFormat.format(calendar.getTime())+" 06:00:00"));
//            }
        } catch (ParseException e) {
            e.printStackTrace();
        }
        return shiftModel;
    }
}
